import asyncio
from netschoolapi import NetSchoolAPI
import datetime
import dateutil.relativedelta as rdelta
import datetime as DT
from datetime import datetime, timedelta
import json
import configparser

# Читаем конфигурацию из файла
config = configparser.ConfigParser()
config.read('config.ini')

async def main():
    # Получаем данные из конфигурации
    url = config['NetSchoolAPI']['url']
    username = config['NetSchoolAPI']['username']
    password = config['NetSchoolAPI']['password']
    school = config['NetSchoolAPI']['school']

    # Создаём клиент. Через него мы будем обращаться к АПИ электронного дневника
    ns = NetSchoolAPI(url)

    # Логинимся в "Сетевой город"
    await ns.login(
        username,           # Логин
        password,           # Пароль
        school,             # Название школы
    )

    # Печатаем дневник на текущую неделю
    today = datetime.today().date()
    next_monday = today + timedelta(days=(7 - today.weekday()))
    last_friday = next_monday - timedelta(10)
    start = last_friday
    end = start + timedelta(days=10)
    print(await ns.diary_json(start=start, end=end))

    # Выходим из сессии
    await ns.logout()

if __name__ == '__main__':
    asyncio.run(main())
